#include "threadPool.h"
#include <openssl/md5.h>
int md5(int fd,char* filepath)
{
    //int fd = open("book",O_RDONLY);
    //int fd = bufd;
    MD5_CTX ctx;
    MD5_Init(&ctx);//初始化MD5上下文ctx
    char buf[4096];//定义一个缓冲区buf
    while(1){
        bzero(buf,sizeof(buf));//清空缓冲区
        ssize_t sret = read(fd,buf,sizeof(buf));//从文件中读取数据
        if(sret == 0){
            break;
        }
        MD5_Update(&ctx,buf,sret);//更新MD5上下文
    }
    unsigned char md[16];//将要保存md5码16个字节的二进制数据
    MD5_Final(md,&ctx);//文件读取完成后，调用 MD5_Final 函数计算出文件的 MD5 值，保存在 md 数组中
    for(int i = 0; i < 16; ++i){//遍历 md 数组，以十六进制的形式打印出 MD5 值的字符串表示。
        printf("%02x",md[i]);
    }
    printf("\n");
    return 0;
}